package fr.emn.nuitinfo.model.persistence;

// import fr.emn.nuitinfo.model.persistence.impl.ChasseDatastoreDAO;
import fr.emn.nuitinfo.model.CoordonneesGPS;
import fr.emn.nuitinfo.model.Duree;
import fr.emn.nuitinfo.model.Etape;
import fr.emn.nuitinfo.model.Evaluation;
import fr.emn.nuitinfo.model.Lieu;
import fr.emn.nuitinfo.model.ParticipationChasse;
import fr.emn.nuitinfo.model.interfaces.IChasse;
import fr.emn.nuitinfo.model.interfaces.IUtilisateur;
import fr.emn.nuitinfo.model.persistence.impl.ChasseMockDAO;
import fr.emn.nuitinfo.model.persistence.impl.UtilisateurMockDAO;

public class FactoryDAO {

	private static volatile IDAO<IUtilisateur> utilisateurDAO = null;
	private static volatile IDAO<IChasse> chasseDAO = null;

	public static IDAO<IUtilisateur> getUtilisateurDAO() {
		if (utilisateurDAO == null) {
			utilisateurDAO = new UtilisateurMockDAO();
		}

		return utilisateurDAO;
	}

	public static IDAO<IChasse> getChasseDAO() {
		if (chasseDAO == null) {
			chasseDAO = new ChasseMockDAO();
		}

		return chasseDAO;
	}

	public static IDAO<CoordonneesGPS> getCoordonneesGPSDAO() {
		return null;
	}

	public static IDAO<Duree> getDureeDAO() {
		return null;
	}

	public static IDAO<Etape> getEtapeDAO() {
		return null;
	}

	public static IDAO<Evaluation> getEvaluationDAO() {
		return null;
	}

	public static IDAO<Lieu> getLieuDAO() {
		return null;
	}

	public static IDAO<ParticipationChasse> getParticipationChasseDAO() {
		return null;
	}
	// private static volatile IChasseDAO chasseDAO = null;
	//
	// public static IChasseDAO getChasseDAO() {
	// if(chasseDAO == null) {
	// chasseDAO = new ChasseDatastoreDAO();
	// }
	//
	// return chasseDAO;
	// }
}
